<?php 
/* 
Proyecto: Sistema Victoria 2.0
Programador: Felipe Guerra
Año: 2015
Flores de tumbabiro ©
*/

session_start();

//Funcion %s
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

//Numero de registros que se mostrarán en xxxxxxxxxList.php
$_SESSION['NUM_REGISTROS'] = 10;

//Alto en pixeles que se mostrarán en xxxxxxxxxList.php
$_SESSION['td'] = 326;

//Valor que se suma al tamaño del iframe(verticalmente) para evitar un scroll inecesario
$_SESSION['addHeight'] = 20;


//Verificar el usuario y password al logearse
// 0: NO coiciden el usuario y password
// 1: SI coiciden el usuario y password
//
// 0-a: No existe el usuario
// 0-b: SI existe el usuario, pero NO con esa contraseña
// 0-c: SI existe el usuario, pero con estado 0
function verificarUsuario($usuario, $clave){
	$indicador = '';
	
	//Verifica si coiciden el usuario y password, 
	include('../db/connect.php');
	$sql= sprintf("
	SELECT
	*
	FROM usuario
	WHERE USU_USERNAME = '%s'
	AND USU_PASSWORD = MD5('%s')
	AND USU_ESTADO = 1",
		$usuario, $clave);
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
 	$num = mysql_num_rows($rs);
	$indicador = $num;//0 ó 1
	
	if( $indicador === 0 ){
		//Verifica si existe ese usuario
		include('../db/connect.php');
		$sql= sprintf("
		SELECT
		*
		FROM usuario
		WHERE USU_USERNAME = '%s'",
			$usuario);
		mysql_select_db($database_victoria, $victoria);		
		$rs = mysql_query($sql, $victoria) or die(mysql_error());
		$row = mysql_fetch_assoc($rs);
		$num = mysql_num_rows($rs);	
		// 0-a: No existe el usuario
		// 0-b: SI existe el usuario, pero NO con esa contraseña
		// 0-c: SI existe el usuario, pero con estado 0		
		if($num === 0){
			$indicador = '0-a';
		}else if($num === 1 and $row['USU_ESTADO'] == 1 ){
			$indicador = '0-b';
		}else if($num === 1 and $row['USU_ESTADO'] == 0 ){
			$indicador = '0-c';
		}
		
		$indicador = ($num === 0 ? '0-a' : '0-b');
		
	}
	
	return $indicador;

}

//Verifica si el usuario tiene algun rol asignado
//Solo se hace la llamada cuando-> 1: SI coiciden el usuario y password
//Retorna:
//1: SI tiene asignado algun rol
//0: NO tiene asignado algun rol
function verificarRol($usuario){

	include('../db/connect.php');
	$sql= sprintf("
	SELECT
	USU_CODIGO
	FROM usuario
	WHERE USU_USERNAME = '%s'",
		$usuario);
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
	$row = mysql_fetch_assoc($rs);
	$USU_CODIGO = $row['USU_CODIGO'];
	
	include('../db/connect.php');
	$sql= sprintf("
	SELECT
	*
	FROM usuario_rol
	WHERE USU_CODIGO = %s",
		$USU_CODIGO);
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
 	$num = mysql_num_rows($rs);
	$indicador = ($num > 0 ? 1 : 0);
	
	return $indicador;
	
}

//Cargar variables de sesion
function cargarVariables($usuario){

	//Variables de tabla usuario
	include('../db/connect.php');
	$sql= sprintf("
	SELECT
	*
	FROM usuario
	WHERE USU_USERNAME = '%s'",
		$usuario);
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
	$row = mysql_fetch_assoc($rs);
	
	$_SESSION['USR']['USU_CODIGO'] = $row['USU_CODIGO'];
	$_SESSION['USR']['USU_NOMBRE'] = $row['USU_NOMBRE'];	
	$_SESSION['USR']['USU_APELLIDO'] = $row['USU_APELLIDO'];
	$_SESSION['USR']['USU_USERNAME'] = $row['USU_USERNAME'];
	
	//Obtener rol
	include('../db/connect.php');
	$sql= sprintf("
	SELECT
	*
	FROM usuario_rol ur,
	rol r
	WHERE ur.USU_CODIGO = %s
	AND r.ROL_ESTADO = 1
	AND r.ROL_CODIGO = ur.ROL_CODIGO",
		$_SESSION['USR']['USU_CODIGO']);
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
	$row = mysql_fetch_assoc($rs);

	$_SESSION['USR']['ROL_CODIGO'] = $row['ROL_CODIGO'];
	$_SESSION['USR']['ROL_NOMBRE'] = $row['ROL_NOMBRE'];
	
}

//Menu superior, obtener opciones del menu
function menuSuperior(){

	include('../db/connect.php');
	$sql= "
	SELECT
	*
	FROM programa
	WHERE PRO_ESTADO = 1
	AND PRO_UBICACION = 'Horizontal'
	ORDER BY PRO_ORDEN	
	";
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
	
	$html = '';
	while($row = mysql_fetch_assoc($rs)){
		$html .= '
			<li>
				<a href="../core/index.php?ms='.$row['PRO_CODIGO'].'" title="Inicio">
					<img src="../imagenes/menuSuperior/'.$row['PRO_IMAGEN'].'"  />
					&nbsp;    
					'.$row['PRO_NOMBRE_OPCION'].'
				</a>
			</li>
		';
	}
	
	echo $html;
	
}

//Menu vertical, obtener opciones del menu
function menuVertical($ms){
	//Select para seleccionar los menu vertical
	include('../db/connect.php');
	$sql= "
	SELECT
	*
	FROM programa
	WHERE PRO_UBICACION = 'Vertical'
	AND PRO_ESTADO = 1
	AND PRO_TIPO = 'Menu'
	AND PRO_PADRE = '".$ms."'	
	ORDER BY PRO_ORDEN
	";
	mysql_select_db($database_victoria, $victoria);		
	$rs = mysql_query($sql, $victoria) or die(mysql_error());
	
	$html .= '';
		
	while($row = mysql_fetch_assoc($rs)){
		$html .= '
		<li><a href="#">'.$row['PRO_NOMBRE_OPCION'].'</a>
			<ul>';
			
			//Select para seleccionar los submenu vertical
			include('../db/connect.php');
			$sql= "
			SELECT
			*
			FROM programa
			WHERE PRO_ESTADO = 1
			AND PRO_UBICACION = 'Vertical'
			AND PRO_TIPO = 'Submenu'
			AND PRO_PADRE = ".$row['PRO_CODIGO']."
			ORDER BY PRO_ORDEN
			";
			
			
			
			
			mysql_select_db($database_victoria, $victoria);		
			$rs_2 = mysql_query($sql, $victoria) or die(mysql_error());			
					
			while($row_2 = mysql_fetch_assoc($rs_2)){					
				$html .= '
				<li><a href="#">'.$row_2['PRO_NOMBRE_OPCION'].'</a>
					<ul>';
					
						//Select para seleccionar las opciones
						include('../db/connect.php');
						$sql= "
						SELECT
						*
						FROM programa
						WHERE PRO_ESTADO = 1
						AND PRO_UBICACION = 'Vertical'
						AND PRO_TIPO = 'Opcion'
						AND PRO_PADRE = ".$row_2['PRO_CODIGO']."
						ORDER BY PRO_ORDEN";


						mysql_select_db($database_victoria, $victoria);		
						$rs_3 = mysql_query($sql, $victoria) or die(mysql_error());			
								
						while($row_3 = mysql_fetch_assoc($rs_3)){							
							$html .= '
							<li><a class="url" reference="'.$row_3['PRO_IFRAME'].'" id="'.$row_3['PRO_LINK'].'" name="'.$row_3['PRO_CODIGO'].'" >'.$row_3['PRO_NOMBRE_OPCION'].'</a></li>';							
						}
					$html .= '
					</ul>
				</li>';
			}

		$html .= '
			</ul>
		</li>';
	}
	
	
	echo $html;
	
}

//Cargar imagenes que estan en la carpeta menuSuperior
function imgMenuSuperior(){
	
	$directorio = "../imagenes/menuSuperior/";
	$sizekb = 0.0 ;
	$sizemb = 0.0 ;
	$dir=opendir($directorio);
	$aux1 = "i".substr(strrchr($rsListar[1]["icono"], "i"), 1);
	$img_show = '';
	while ($file = readdir($dir)){
		if ($file != "." && $file != ".."){
	
			$img_show .= '<img class="clase_img" src="../imagenes/menuSuperior/'.$file.'" />';
		}
	}
	
	closedir($dir);
	return $img_show;
}


//Funcion recursiva que permite la creacion del arbol
function miRecursion($actual, $vecArbol_1, $vecArbol_2, $children, $stateArray, $paIframe){
	
	$arrayPHP["text"] = $vecArbol_1[$actual];		
	//$arrayPHP["state"] = $stateArray;
	if( $actual == $paIframe ){
		$arrayPHP["state"] = array( "selected" => "true" );
	}
	$arrayPHP["id"] = $actual;	
	$arrayPHP["icon"] = "jstree-file";		
	
	//Si el nodo tiene hijos
	if(count($vecArbol_2[$actual]) > 0){
		$arrayPHP["icon"] = "";		
		
		//id de todos los hijos del nodo actual
		foreach( $vecArbol_2[$actual] as $index => $valor){
			$hijos[$index] = $index;
		}
		
		//Todos los nodos hijos
		foreach( $children as $valor){
			$id = $valor['id'];
			if( $hijos[$id] != '' ){
				$valor = miRecursion($id, $vecArbol_1, $vecArbol_2, $children, $stateArray, $paIframe);
				$tempo[] = $valor;
			}
		}
		
		$arrayPHP["children"] = $tempo;	
	
	}

	return $arrayPHP;
}

//Construye el arbol de acuerdo al select
function arbol($sql_arbol){

	include('../db/connect.php');
	mysql_select_db($database_victoria, $victoria);	
	$rsArbol = mysql_query($sql_arbol, $victoria ) or die(mysql_error());

	//Vectores PHP que generaran el vector Js
	$vecArbol = array();
	$stateArray = array("opened" => "true");//Hace que este abierto el nodo y muestre todos sus hijos
	while($row_rsListar = mysql_fetch_assoc($rsArbol)){
		$vecArbol_1[$row_rsListar['CODIGO']] =  $row_rsListar['NOMBRE'];		
		$vecArbol_2[$row_rsListar['PA_CODIGO']][$row_rsListar['CODIGO']] =  $row_rsListar['NOMBRE'];
		$children[] = array("text" => $row_rsListar['NOMBRE'], "state" => array("opened" => "true"), "id" => $row_rsListar['CODIGO'] );
	}
	
	$arrayPHP = miRecursion(1, $vecArbol_1, $vecArbol_2, $children, $stateArray, $_SESSION['paIframe']);
	$_SESSION['paIframe'] = '';	
	return $arrayPHP;
}

//Retorna el nombre del programa
function programaNom($PRO_CODIGO){
	include('../db/connect.php');
	$sql = "
	SELECT
	PRO_NOMBRE_OPCION
	FROM programa
	WHERE PRO_CODIGO = $PRO_CODIGO	
	";
	mysql_select_db($database_victoria, $victoria);	
	$tabla = mysql_query($sql, $victoria ) or die(mysql_error());
	$fila = mysql_fetch_assoc($tabla);
	return $fila['PRO_NOMBRE_OPCION'];
}


?>